//+--------------------------------------------------------------------------------
//| Copyright (c) 2012 - 2013 ### an.vuongngocduy
//| This file is a part of Compact Game Engine (CGE)
//+--------------------------------------------------------------------------------
#ifndef __CGE_RENDEREROGL_H__
#define __CGE_RENDEREROGL_H__

#include "cgeRenderer.h"

#ifdef CGE_PLATFORM_WINDOWS
#include <gl\GL.h>
#include <gl\GLU.h>
#endif

namespace cge
{
	namespace gfx
	{
		class RendererOGL : public Renderer
		{
		public:
			//! Default constructor
			RendererOGL();


			//! Destructor
			~RendererOGL();


			//! Init OpenGL driver
			void Initialize(Canvas* canvas);


			//! Call this before doing any render task 
			void BeginScene();


			//! Call this after finish rendering and to display the scene 
			void EndScene();


		protected:
			HGLRC mGLContext;
			HDC mDevContext;
			b8 mFixedPipeline;
		};
	}
}

#endif//__CGE_RENDEREROGL_H__